////////////////////////////////////////////////////////////////////////////////

#ifndef _SWALL_H_
#define _SWALL_H_

////////////////////////////////////////////////////////////////////////////////

#ifndef _SGAMEOBJECT_H_
#include "sgameobject.h"
#endif

#include <list>

////////////////////////////////////////////////////////////////////////////////

class b2Shape;

////////////////////////////////////////////////////////////////////////////////



/** Base class for all walls
*
*  @author   Roman Pasechnik
*  @author   Anastasia Karpinska
*  @since    Nov 21th, 2009
*  @updated  Apr 18th, 2010
*/
class SWall : public SGameObject
{
////////////////////////////////////////////////////////////////////////////////

public:

////////////////////////////////////////////////////////////////////////////////


    /** Constructor */
    SWall( int _ID, const Point& _position, b2Shape& _shape );


    /** Destructor */
    virtual ~SWall();


////////////////////////////////////////////////////////////////////////////////
//// Collisions
////////////////////////////////////////////////////////////////////////////////


    /** Informs this object about collision with other object */
    virtual void Collision( SGameObject& _obj );


////////////////////////////////////////////////////////////////////////////////
};


/** [Utility type]: List of server walls */
typedef std::list<SWall> SWallsList;


////////////////////////////////////////////////////////////////////////////////

#endif

////////////////////////////////////////////////////////////////////////////////
